--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / messages / MessagesSidebar.vue
Displaying Raw • Download
meshchatx/src/frontend/components/messages/MessagesSidebar.vue 9d8611bb97df55bcb1fb38bc6de17e9f7846ffa2 (9d8611bb) Text, 24.87 KB
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col w-full sm:w-80 sm:min-w-80"Tb4b4b4>
T8b949e<!-- tabs -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bg-transparent border-b border-r border-gray-200/70 dark:border-zinc-700/80 backdrop-blur"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"-mb-px flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full border-b-2 py-3 px-1 text-center text-sm font-semibold tracking-wide uppercase cursor-pointer transition"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3tab Tff7b72=== Ta5d6ff'conversations'
Tff7b72? Ta5d6ff'border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-300'
Tff7b72: Ta5d6ff'border-transparent text-gray-500 dark:text-gray-400 hover:border-gray-300 dark:hover:border-zinc-600 hover:text-gray-700 dark:hover:text-gray-200'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3tab Tff7b72= Ta5d6ff'conversations'Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.conversations"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full border-b-2 py-3 px-1 text-center text-sm font-semibold tracking-wide uppercase cursor-pointer transition"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3tab Tff7b72=== Ta5d6ff'announces'
Tff7b72? Ta5d6ff'border-blue-500 text-blue-600 dark:border-blue-400 dark:text-blue-300'
Tff7b72: Ta5d6ff'border-transparent text-gray-500 dark:text-gray-400 hover:border-gray-300 dark:hover:border-zinc-600 hover:text-gray-700 dark:hover:text-gray-200'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3tab Tff7b72= Ta5d6ff'announces'Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.announces"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- conversations -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3tab Tff7b72=== Ta5d6ff'conversations'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 flex flex-col bg-white dark:bg-zinc-950 border-r border-gray-200 dark:border-zinc-700 overflow-hidden min-h-0"
Tb4b4b4>
T8b949e<!-- search + filters -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3conversationsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72|| Te6edf3isFilterActiveTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-1 border-b border-gray-300 dark:border-zinc-700 space-y-2"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3conversationSearchTermTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.search_placeholder'Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3conversationsTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"input-field flex-1"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onConversationSearchInputTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"p-2 bg-gray-100 dark:bg-zinc-800 text-gray-500 dark:text-gray-400 rounded-lg hover:bg-gray-200 dark:hover:bg-zinc-700 transition-colors"
Te6edf3titleTff7b72=Ta5d6ff"Ingest Paper Message"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3openIngestPaperMessageModalTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"qrcode-scan" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"button" Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3filterChipClassesTb4b4b4(Te6edf3filterUnreadOnlyTb4b4b4)Ta5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleFilterTb4b4b4(Ta5d6ff'unread'Tb4b4b4)Ta5d6ff"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.unread"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"button" Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3filterChipClassesTb4b4b4(Te6edf3filterFailedOnlyTb4b4b4)Ta5d6ff" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleFilterTb4b4b4(Ta5d6ff'failed'Tb4b4b4)Ta5d6ff"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.failed"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3filterChipClassesTb4b4b4(Te6edf3filterHasAttachmentsOnlyTb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleFilterTb4b4b4(Ta5d6ff'attachments'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.attachments"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- conversations -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex h-full overflow-y-auto" Tb4b4b4@Te6edf3scrollTff7b72=Ta5d6ff"Te6edf3onConversationsScrollTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isLoadingTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-full divide-y divide-gray-100 dark:divide-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3i Tff7b72in T79c0ff6Ta5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3iTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"p-3 animate-pulse"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"size-10 rounded bg-gray-200 dark:bg-zinc-800"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 space-y-2 py-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"h-2 bg-gray-200 dark:bg-zinc-800 rounded w-3/4"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"h-2 bg-gray-200 dark:bg-zinc-800 rounded w-1/2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3displayedConversationsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-full"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3conversation Tff7b72of Te6edf3displayedConversationsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3destination_hashTa5d6ff"
Te6edf3v-memoTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3conversationTb4b4b4.Te6edf3destination_hashTb4b4b4,
Te6edf3conversationTb4b4b4.Te6edf3updated_atTb4b4b4,
Te6edf3conversationTb4b4b4.Te6edf3is_unreadTb4b4b4,
Te6edf3conversationTb4b4b4.Te6edf3failed_messages_countTb4b4b4,
Te6edf3selectedDestinationHash Tff7b72=== Te6edf3conversationTb4b4b4.Te6edf3destination_hashTb4b4b4,
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_effect_enabled Tff7b72&& Te6edf3isBlockedTb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer p-2 border-l-2 relative"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3conversationTb4b4b4.Te6edf3destination_hash Tff7b72=== Te6edf3selectedDestinationHash
Tff7b72? Ta5d6ff'bg-gray-100 dark:bg-zinc-700 border-blue-500 dark:border-blue-400'
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-950 border-transparent hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-gray-200 dark:hover:border-zinc-600'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3onConversationClickTb4b4b4(Te6edf3conversationTb4b4b4)Ta5d6ff"
Tb4b4b4>
T8b949e<!-- banished overlay -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_effect_enabled Tff7b72&& Te6edf3isBlockedTb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3destination_hashTb4b4b4)
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"banished-overlay"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3backgroundTff7b72: Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_color Tff7b72+ Ta5d6ff'33' Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"banished-text !text-[10px] !opacity-100 !tracking-widest !border !px-1 !py-0.5 !text-white !shadow-lg"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Ta5d6ff'background-color'Tff7b72: Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_color Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_text Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"my-auto mr-2"Tb4b4b4>
Tb4b4b4<Tff7b72LxmfUserIcon
Tb4b4b4:Te6edf3custom-imageTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3contact_imageTa5d6ff"
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_icon Tff7b72? Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_iconTb4b4b4.Te6edf3icon_name Tff7b72: Ta5d6ff''Ta5d6ff"
Tb4b4b4:Te6edf3icon-foreground-colourTff7b72=Ta5d6ff"
Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_icon Tff7b72? Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_iconTb4b4b4.Te6edf3foreground_colour Tff7b72: Ta5d6ff''
Ta5d6ff"
Tb4b4b4:Te6edf3icon-background-colourTff7b72=Ta5d6ff"
Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_icon Tff7b72? Te6edf3conversationTb4b4b4.Te6edf3lxmf_user_iconTb4b4b4.Te6edf3background_colour Tff7b72: Ta5d6ff''
Ta5d6ff"
Te6edf3icon-classTff7b72=Ta5d6ff"size-7"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mr-auto w-full pr-2 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between gap-2 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-gray-100 truncate min-w-0"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3custom_display_name Tff7b72?? Te6edf3conversationTb4b4b4.Te6edf3display_nameTa5d6ff"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'font-semibold'Tff7b72:
Tb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3is_unread Tff7b72&&
Te6edf3conversationTb4b4b4.Te6edf3destination_hash Tff7b72!== Te6edf3selectedDestinationHashTb4b4b4) Tff7b72||
Te6edf3conversationTb4b4b4.Te6edf3failed_messages_count Tff7b72> T79c0ff0Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3conversationTb4b4b4.Te6edf3custom_display_name Tff7b72?? Te6edf3conversationTb4b4b4.Te6edf3display_name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-gray-400 text-xs whitespace-nowrap flex-shrink-0"Tb4b4b4>
Tff7b72{{ Te6edf3formatTimeAgoTb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3updated_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-gray-400 text-xs mt-0.5 truncate"Tb4b4b4>
Tff7b72{{
Te6edf3conversationTb4b4b4.Te6edf3latest_message_preview Tff7b72??
Te6edf3conversationTb4b4b4.Te6edf3latest_message_title Tff7b72??
Ta5d6ff"No messages yet"
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center space-x-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3has_attachmentsTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-gray-500 dark:text-gray-300"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"paperclip" Te6edf3classTff7b72=Ta5d6ff"w-4 h-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3conversationTb4b4b4.Te6edf3is_unread Tff7b72&& Te6edf3conversationTb4b4b4.Te6edf3destination_hash Tff7b72!== Te6edf3selectedDestinationHash
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"my-auto ml-1"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bg-blue-500 dark:bg-blue-400 rounded-full p-1"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3conversationTb4b4b4.Te6edf3failed_messages_countTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"my-auto ml-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"bg-red-500 dark:bg-red-400 rounded-full p-1"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- loading more spinner -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isLoadingMoreTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"p-4 text-center"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"loading" Te6edf3classTff7b72=Ta5d6ff"size-6 animate-spin text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"mx-auto my-auto text-center leading-5"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isLoadingTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col text-gray-900 dark:text-gray-100"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1 text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"loading" Te6edf3classTff7b72=Ta5d6ff"size-6 animate-spin" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.loading_conversations"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- no conversations at all -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3conversationsTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0 Tff7b72&& Tff7b72!Te6edf3isFilterActiveTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col text-gray-900 dark:text-gray-100"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1 text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"tray-remove" Te6edf3classTff7b72=Ta5d6ff"size-6" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>No ConversationsTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Discover peers on the Announces tabTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- is searching or filtering, but no results -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3isFilterActiveTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col text-gray-900 dark:text-gray-100"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1 text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"magnify-close" Te6edf3classTff7b72=Ta5d6ff"size-6" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.no_search_results"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.no_search_results_conversations"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- discover -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3tab Tff7b72=== Ta5d6ff'announces'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex-1 flex flex-col bg-white dark:bg-zinc-950 border-r border-gray-200 dark:border-zinc-700 overflow-hidden min-h-0"
Tb4b4b4>
T8b949e<!-- search -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"p-1 border-b border-gray-300 dark:border-zinc-700"Tb4b4b4>
Tb4b4b4<Tff7b72input
Tb4b4b4:Te6edf3valueTff7b72=Ta5d6ff"Te6edf3peersSearchTermTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.search_placeholder_announces'Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3totalPeersCount Tb4b4b4}Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"input-field"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onPeersSearchInputTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- peers -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex h-full overflow-y-auto" Tb4b4b4@Te6edf3scrollTff7b72=Ta5d6ff"Te6edf3onPeersScrollTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3searchedPeersTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-full"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3peer Tff7b72of Te6edf3searchedPeersTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3destination_hashTa5d6ff"
Te6edf3v-memoTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4,
Te6edf3peerTb4b4b4.Te6edf3updated_atTb4b4b4,
Te6edf3peerTb4b4b4.Te6edf3hopsTb4b4b4,
Te6edf3peerTb4b4b4.Te6edf3snrTb4b4b4,
Te6edf3selectedDestinationHash Tff7b72=== Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4,
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_effect_enabled Tff7b72&& Te6edf3isBlockedTb4b4b4(Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer p-2 border-l-2 relative"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3peerTb4b4b4.Te6edf3destination_hash Tff7b72=== Te6edf3selectedDestinationHash
Tff7b72? Ta5d6ff'bg-gray-100 dark:bg-zinc-700 border-blue-500 dark:border-blue-400'
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-950 border-transparent hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-gray-200 dark:hover:border-zinc-600'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3onPeerClickTb4b4b4(Te6edf3peerTb4b4b4)Ta5d6ff"
Tb4b4b4>
T8b949e<!-- banished overlay -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_effect_enabled Tff7b72&& Te6edf3isBlockedTb4b4b4(Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"banished-overlay"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3backgroundTff7b72: Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_color Tff7b72+ Ta5d6ff'33' Tb4b4b4}Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"banished-text !text-[10px] !opacity-100 !tracking-widest !border !px-1 !py-0.5 !text-white !shadow-lg"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Ta5d6ff'background-color'Tff7b72: Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_color Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3banished_text Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"my-auto mr-2"Tb4b4b4>
Tb4b4b4<Tff7b72LxmfUserIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3icon_nameTa5d6ff"
Tb4b4b4:Te6edf3icon-foreground-colourTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3foreground_colourTa5d6ff"
Tb4b4b4:Te6edf3icon-background-colourTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3background_colourTa5d6ff"
Te6edf3icon-classTff7b72=Ta5d6ff"size-7"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-gray-100 truncate"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3custom_display_name Tff7b72?? Te6edf3peerTb4b4b4.Te6edf3display_nameTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3peerTb4b4b4.Te6edf3custom_display_name Tff7b72?? Te6edf3peerTb4b4b4.Te6edf3display_name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex space-x-1 text-gray-500 dark:text-gray-400 text-sm"Tb4b4b4>
T8b949e<!-- time ago -->
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"flex my-auto space-x-1"Tb4b4b4>
Tff7b72{{ Te6edf3formatTimeAgoTb4b4b4(Te6edf3peerTb4b4b4.Te6edf3updated_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
T8b949e<!-- hops away -->
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3hops Tff7b72!= Tff7b72null Tff7b72&& Te6edf3peerTb4b4b4.Te6edf3hops Tff7b72!== T79c0ff128Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex my-auto text-sm text-gray-500 space-x-1"
Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>•Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3hops Tff7b72=== T79c0ff0 Tff7b72|| Te6edf3peerTb4b4b4.Te6edf3hops Tff7b72=== T79c0ff1Ta5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.direct"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.hops"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3peerTb4b4b4.Te6edf3hops Tb4b4b4}Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
T8b949e<!-- snr -->
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peerTb4b4b4.Te6edf3snr Tff7b72!= Tff7b72nullTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex my-auto space-x-1"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>•Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.snr"Tb4b4b4, Tb4b4b4{ Te6edf3snrTff7b72: Te6edf3peerTb4b4b4.Te6edf3snr Tb4b4b4}Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- loading more spinner -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isLoadingMoreAnnouncesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"p-4 text-center"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"loading" Te6edf3classTff7b72=Ta5d6ff"size-6 animate-spin text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"mx-auto my-auto text-center leading-5"Tb4b4b4>
T8b949e<!-- no peers at all -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peersCount Tff7b72=== T79c0ff0Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex flex-col text-gray-900 dark:text-gray-100"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1 text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"account-search-outline" Te6edf3classTff7b72=Ta5d6ff"size-6" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.no_peers_discovered"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.waiting_for_announce"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- is searching, but no results -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3peersSearchTerm Tff7b72!== Ta5d6ff'' Tff7b72&& Te6edf3peersCount Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col text-gray-900 dark:text-gray-100"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mx-auto mb-1 text-gray-500"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"account-off-outline" Te6edf3classTff7b72=Ta5d6ff"size-6" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.no_search_results"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.no_search_results_peers"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3Utils Tff7b72from Ta5d6ff"../../js/Utils"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3LxmfUserIcon Tff7b72from Ta5d6ff"../LxmfUserIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3GlobalState Tff7b72from Ta5d6ff"../../js/GlobalState"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"MessagesSidebar"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{ Te6edf3MaterialDesignIconTb4b4b4, Te6edf3LxmfUserIcon Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3peersTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3conversationsTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ArrayTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3selectedDestinationHashTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657StringTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3conversationSearchTermTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657StringTb4b4b4,
Tff7b72defaultTff7b72: Ta5d6ff""Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3filterUnreadOnlyTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3filterFailedOnlyTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3filterHasAttachmentsOnlyTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isLoadingTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isLoadingMoreTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3hasMoreConversationsTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3isLoadingMoreAnnouncesTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3hasMoreAnnouncesTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657BooleanTb4b4b4,
Tff7b72defaultTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3peersSearchTermTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657StringTb4b4b4,
Tff7b72defaultTff7b72: Ta5d6ff""Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3totalPeersCountTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657NumberTb4b4b4,
Tff7b72defaultTff7b72: T79c0ff0Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3emitsTff7b72: Tb4b4b4[
Ta5d6ff"conversation-click"Tb4b4b4,
Ta5d6ff"peer-click"Tb4b4b4,
Ta5d6ff"conversation-search-changed"Tb4b4b4,
Ta5d6ff"conversation-filter-changed"Tb4b4b4,
Ta5d6ff"peers-search-changed"Tb4b4b4,
Ta5d6ff"ingest-paper-message"Tb4b4b4,
Ta5d6ff"load-more"Tb4b4b4,
Ta5d6ff"load-more-announces"Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3GlobalStateTb4b4b4,
Te6edf3tabTff7b72: Ta5d6ff"conversations"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3isFilterActiveTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(
Tff7b72thisTb4b4b4.Te6edf3conversationSearchTerm Tff7b72!== Ta5d6ff"" Tff7b72||
Tff7b72thisTb4b4b4.Te6edf3filterUnreadOnly Tff7b72||
Tff7b72thisTb4b4b4.Te6edf3filterFailedOnly Tff7b72||
Tff7b72thisTb4b4b4.Te6edf3filterHasAttachmentsOnly
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3blockedDestinationsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3blockedDestinationsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3displayedConversationsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3conversationsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3peersCountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3peersTb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3peersOrderedByLatestAnnounceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3peers Tff7b72= Tffa657ObjectTb4b4b4.Te6edf3valuesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3peersTb4b4b4)Tb4b4b4;
T8b949e// Pre-parse timestamps for sorting performance
Tff7b72const Te6edf3timedPeers Tff7b72= Te6edf3peersTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3pTb4b4b4,
Te6edf3tTff7b72: Te6edf3pTb4b4b4.Te6edf3_updated_at_ts Tff7b72|| Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3_updated_at_ts Tff7b72= Tff7b72new Tffa657DateTb4b4b4(Te6edf3pTb4b4b4.Te6edf3updated_atTb4b4b4)Tb4b4b4.Te6edf3getTimeTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3timedPeersTb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Te6edf3bTb4b4b4.Te6edf3t Tff7b72- Te6edf3aTb4b4b4.Te6edf3tTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3timedPeersTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3tpTb4b4b4) Tb4b4b4=> Te6edf3tpTb4b4b4.Te6edf3pTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3searchedPeersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3peersOrderedByLatestAnnounceTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3peerTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3search Tff7b72= Tff7b72thisTb4b4b4.Te6edf3peersSearchTermTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3matchesDisplayName Tff7b72= Te6edf3peerTb4b4b4.Te6edf3display_nameTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3matchesCustomDisplayName Tff7b72= Te6edf3peerTb4b4b4.Te6edf3custom_display_nameTff7b72?Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tff7b72?Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4) Tff7b72=== Tff7b72trueTb4b4b4;
Tff7b72const Te6edf3matchesDestinationHash Tff7b72= Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3searchTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3matchesDisplayName Tff7b72|| Te6edf3matchesCustomDisplayName Tff7b72|| Te6edf3matchesDestinationHashTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3isBlockedTb4b4b4(Te6edf3destinationHashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3blockedDestinationsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3bTb4b4b4) Tb4b4b4=> Te6edf3bTb4b4b4.Te6edf3destination_hash Tff7b72=== Te6edf3destinationHashTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3openIngestPaperMessageModalTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"ingest-paper-message"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onConversationClickTb4b4b4(Te6edf3conversationTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isBlockedTb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"conversation-click"Tb4b4b4, Te6edf3conversationTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onPeerClickTb4b4b4(Te6edf3peerTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isBlockedTb4b4b4(Te6edf3peerTb4b4b4.Te6edf3destination_hashTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"peer-click"Tb4b4b4, Te6edf3peerTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3formatTimeAgoTff7b72: Tff7b72function Tb4b4b4(Te6edf3datetimeStringTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3UtilsTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3datetimeStringTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onConversationSearchInputTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"conversation-search-changed"Tb4b4b4, Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3toggleFilterTb4b4b4(Te6edf3filterKeyTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"conversation-filter-changed"Tb4b4b4, Te6edf3filterKeyTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onConversationsScrollTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3element Tff7b72= Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4;
T8b949e// if scrolled near bottom (within 200px)
Tff7b72if Tb4b4b4(Te6edf3elementTb4b4b4.Te6edf3scrollHeight Tff7b72- Te6edf3elementTb4b4b4.Te6edf3scrollTop Tff7b72- Te6edf3elementTb4b4b4.Te6edf3clientHeight Tff7b72< T79c0ff200Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3hasMoreConversations Tff7b72&& Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isLoadingMore Tff7b72&& Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isLoadingTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"load-more"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onPeersScrollTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3element Tff7b72= Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4;
T8b949e// if scrolled near bottom (within 200px)
Tff7b72if Tb4b4b4(Te6edf3elementTb4b4b4.Te6edf3scrollHeight Tff7b72- Te6edf3elementTb4b4b4.Te6edf3scrollTop Tff7b72- Te6edf3elementTb4b4b4.Te6edf3clientHeight Tff7b72< T79c0ff200Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3hasMoreAnnounces Tff7b72&& Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isLoadingMoreAnnouncesTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"load-more-announces"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onPeersSearchInputTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$emitTb4b4b4(Ta5d6ff"peers-search-changed"Tb4b4b4, Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3filterChipClassesTb4b4b4(Te6edf3isActiveTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3base Tff7b72= Ta5d6ff"px-2 py-1 rounded-full text-xs font-semibold transition-colors"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isActiveTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff`Tffd700${Te6edf3baseTffd700}Ta5d6ff bg-blue-600 text-white dark:bg-blue-500Ta5d6ff`Tb4b4b4;
Tb4b4b4}
Tff7b72return Ta5d6ff`Tffd700${Te6edf3baseTffd700}Ta5d6ff bg-gray-100 text-gray-700 dark:bg-zinc-800 dark:text-zinc-200Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────